package com.icinfo.cloud.provider.punish.ucase.casemain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 简易处罚案件详情页面信息视图对象
 *
 * @author: zhengqiang
 * @date: 2022/6/15
 **/
@Data
@NoArgsConstructor
public class CaseDetailSimpleInfoVo {
    /**
     * 案件id
     */
    private String caseId;
    /**
     * 案件名称
     */
    private String caseName;
    /**
     * 案件编号
     */
    private String caseNumber;
    /**
     * 案由展示名称
     */
    private String caseReasonShowName;
    /**
     * 案由编码
     */
    private String caseReasonCode;
    /**
     * 案件来源
     */
    private String caseSource;
    /**
     * 领域code---案由
     **/
    private String territoryCode;

    /**
     * 案发地址定位信息
     */
    private String caseHappenAddressLocationInfo;
    /**
     * 案发时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private LocalDateTime caseHappenTime;
    /**
     * 取证时间（yyyy年MM月dd日 HH:mm）
     */
    @JsonFormat(pattern = "yyyy年MM月dd日 HH:mm", timezone = "GMT+8")
    private LocalDateTime caseHappenTimeStr;
    /**
     * 案发地详细地址
     */
    private String caseHappenAddressDetail;
    /**
     * 违法事实
     */
    private String illegalFact;
    /**
     * 取证照片
     */
    private List<CaseEvidencePhotoSimpleVo> caseEvidencePhotoList;
    /**
     * 反映内容
     */
    private String caseReactionContent;
    /**
     * 备注
     */
    private String caseRemark;
    /**
     * 处罚内容
     */
    private String punishContent;
    /**
     * 缴费结果
     */
    private String payResult;
    /**
     * 处罚决定时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private LocalDateTime caseVerdictEndTime;

    /**
     * 当事人信息详情
     */
    private CasePartiesInfoVo casePartiesInfoVo;

    /**
     * 是否缺少法定代表人证件信息(0-否/1-是)
     */
    private String isLoseLegalCertInfoCode;

    /**
     * 是否缺少法定代表人证件信息名称(0-否/1-是)
     */
    private String isLoseLegalCertInfoName;


    /**
     * 办案人员列表
     */
    private List<CaseHandlePersonRecordVo> caseHandlePersonList;

    /**
     * 办案部门
     */
    private String caseHandlingDeptInfo;

    /**
     * 当前登录者是否为办案人员（0-否/1-是）
     */
    private String isCaseHandler;
    /**
     * 当前登录者是否为办案人员名称（0-否/1-是）
     */
    private String isCaseHandlerName;


    /**
     * 文书列表
     */
    private List<CaseStageLinkRelateDocumentVo> caseDetailDocInfoList;


    //---------电子送达详情(移动端使用)---------
    /**
     * 是否电子送达成功 0否1是
     */
    private String isElecSendSucc;
    /**
     * 送达时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private LocalDateTime sentTime;
    /**
     * 送达方式说明
     */
    private String sentWayInfo;

    /**
     * 案件机构编码
     */
    private String caseOrgCode;

    /**
     * 案件机构名称
     */
    private String caseOrgName;


    /**
     * 违则
     **/
    private String illegalBasis;

    /**
     * 违则详情
     **/
    private String illegalDetail;
    /**
     * 罚则
     **/
    private String punishBasis;
    /**
     * 罚则详情
     **/
    private String punishDetail;
    /**
     * 事项编码
     **/
    private String itemVersionCode;


    /**
     * 拟处罚内容(多个以,分割)
     */
    private String punishKinds;

    /**
     * 拟处罚金额
     */
    private String draftPunishMoney;

    /**
     * 缴款方式 (1:自行缴纳2:当场缴纳)
     */
    private String payWay;


    /**
     * 整改方式(1:立即整改2:限期整改3:其他)
     */
    private String correctWay;

    /**
     * 整改截止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private String correctEndDate;

    /**
     * 其他整改方式说明
     */
    private String correctOtherContent;

    /**
     * 数据来源(数据字典-ApiVisitDataSourceEnum)
     */
    private String dataSource;

    /**
     * 处罚决定书文号
     */
    private String punishDocumentNumber;

    /**
     * 数据来源方业务唯一主键id
     */
    private String dataSourceServiceId;

    /**
     * 处罚决定书地址
     */
    private String punishDocumentUrl;
    /**
     * 案件状态
     */
    private String caseStatus;
    /**
     * 案件阶段编码
     */
    private String caseStageCode;
    /**
     * 阶段名称
     */
    private String caseStageName;
    /**
     * 执行方式
     */
    private String executeWay;
    /**
     * 执行情况描述
     */
    private String executeConditionDesc;
    /**
     * 执行完毕时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate executeFinishDate;
    /**
     * 执行情况附件信息列表
     **/
    private List<CaseAttachmentInfoVo> executeFinishAppendixList;
    /**
     * 撤销原因描述
     */
    private String recallReasonDesc;

    //--V1.9.4新增字段开始--
    /**
     * 是否轻微违法 1:是 2:否
     */
    private String isSlightIllegal;
    /**
     * 处罚结论 1:予以处罚,2:不予处罚
     */
    private String investConclusion;
    /**
     * 不予处罚原因
     */
    private String notGivePunishReason;
    //--V1.9.4新增字段结束--
    /**
     * 决定书文书模板的版本
     */
    private String punishDocumentTemplateVersion;
    /**
     * 机构文书抬头标准名称
     */
    private String orgStandardName;

    /**
     * 补正/更正文书列表文书列表
     */
        private List<CaseStageLinkRelateDocumentVo> replenishAmendDocumentList;

    /**
     * 是否存在委托事项，false-不存在，true-存在
     */
    private Boolean hadEntrustCase = false;

    /**
     * 是否公安委托执法，false-不是，true-事
     */
    private Boolean isPublicSecurity = false;

    /**
     * 公安委托执法交通信息
     */
    private TrafficInformationVo trafficInformationVo;

    /**
     * 委托事项案件原由信息
     */
    List<CaseReasonEntrustVo> entrustReasonList;

    /**
     * 没收违法财物
     */
    private String confiscateProperty;

    /**
     * 没收违法财物价值
     */
    private BigDecimal confiscatePropertyAmount;

    /**
     * 没收违法所得
     */
    private BigDecimal confiscateGainsAmount;
}
